// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "net/quic/test_tools/mock_clock.h"

namespace net {

MockClock::MockClock()
    : now_(QuicTime::Zero())
{
}

MockClock::~MockClock() { }

void MockClock::AdvanceTime(QuicTime::Delta delta)
{
    now_ = now_.Add(delta);
}

QuicTime MockClock::Now() const
{
    return now_;
}

QuicTime MockClock::ApproximateNow() const
{
    return now_;
}

QuicWallTime MockClock::WallNow() const
{
    return QuicWallTime::FromUNIXSeconds(
        now_.Subtract(QuicTime::Zero()).ToSeconds());
}

base::TimeTicks MockClock::NowInTicks() const
{
    base::TimeTicks ticks;
    return ticks + base::TimeDelta::FromMicroseconds(now_.Subtract(QuicTime::Zero()).ToMicroseconds());
}

} // namespace net
